]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
main: Avoid missing braces warnings when compiling with clang
authorTing-Wei Lan <lantw@src.gnome.org>
Sat, 20 Jul 2019 08:28:53 +0000 (16:28 +0800)
committerTing-Wei Lan <lantw@src.gnome.org>
Sat, 20 Jul 2019 08:45:49 +0000 (16:45 +0800)
Since -Werror=missing-braces is used, having missing braces warnings
aren't allowed. However, the first member of struct sigaction is a union
whose first member is a pointer, causing clang to produce warnings when
it is initialized to { 0 }.

Instead of initializing to a zero value, we can specify values of
members directly in the initializer to avoid warnings.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/633

src/main.c

index 8d144aac6107b2a00f4fae0b50045f6a7cb8d94f..aa048465682845a61c21053de10d0549d821958b 100644 (file)
@@ -372,7 +372,7 @@ dump_gjs_stack_alarm_sigaction (int signo)
 static void
 dump_gjs_stack_on_signal_handler (int signo)
 {
-  struct sigaction sa = { 0 };
+  struct sigaction sa = { .sa_handler = dump_gjs_stack_alarm_sigaction };
   gsize i;
 
   /* Ignore all the signals starting this point, a part the one we'll raise
@@ -388,7 +388,6 @@ dump_gjs_stack_on_signal_handler (int signo)
 
   /* Waiting at least 5 seconds for the dumpstack, if it fails, we raise the error */
   caught_signal = signo;
-  sa.sa_handler = dump_gjs_stack_alarm_sigaction;
   sigemptyset (&sa.sa_mask);
   sigaction (SIGALRM, &sa, NULL);
 
@@ -402,10 +401,11 @@ dump_gjs_stack_on_signal_handler (int signo)
 static void
 dump_gjs_stack_on_signal (int signo)
 {
-  struct sigaction sa = { 0 };
+  struct sigaction sa = {
+    .sa_flags   = SA_RESETHAND | SA_NODEFER,
+    .sa_handler = dump_gjs_stack_on_signal_handler,
+  };
 
-  sa.sa_flags   = SA_RESETHAND | SA_NODEFER;
-  sa.sa_handler = dump_gjs_stack_on_signal_handler;
   sigemptyset (&sa.sa_mask);
 
   sigaction (signo, &sa, NULL);